﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DemoCSLA.DalLinq
{
    public partial class Cliente
    {
        #region Metodos Obtener Datos
        /// <summary>
        /// Obtiene un Cliente en base al Id
        /// </summary>
        public static Cliente GetClienteById(DemoCSLADataContext ctx, string Id)
        {
            return (from c in ctx.Clientes
                    where c.IdCliente == Id
                    select c).SingleOrDefault();
        }

        /// <summary>
        /// Obtiene todos los Clientes
        /// </summary>
        public static IQueryable<Cliente> GetAllClientes(DemoCSLADataContext ctx)
        {
            return ctx.Clientes;
        }

        /// <summary>
        /// Obtiene los Clientes por Nombre.
        /// </summary>
        public static IQueryable<Cliente>
            GetClienteByNombres(DemoCSLADataContext ctx, string Nombres)
        {
            var q = from c in ctx.Clientes
                    where c.Nombres
                    .StartsWith(Nombres)
                    select c;
            return q;
        }

        /// <summary>
        /// Obtiene los Clientes por Apellido.
        /// </summary>
        public static IQueryable<Cliente>
            GetClienteByApellidos(DemoCSLADataContext ctx, string Apellidos)
        {
            var q = from c in ctx.Clientes
                    where c.Apellidos
                    .StartsWith(Apellidos)
                    select c;
            return q;
        }

        /// <summary>
        /// Busca un Cliente por el Correo Electronico
        /// </summary>
        public static bool GetClienteByEmail(DemoCSLADataContext ctx, string Correo)
        {
            var q = from c in ctx.Clientes
                    where c.Correo.Equals(Correo)
                    select c;
            if (q != null)
                return true;
            else
                return false;
        }

        #endregion
    }
}
